"""
    @Author  ：思念 
    @File    ：1.task对象.py
    @Date    ：2025/3/12 14:11 
"""

'''
协程对象本身不参与任务并发
    若想要多个任务实现并发则需要将协程子对象打包成task对象
'''

import asyncio


async def text_work():
    print("协程任务开始。。。。")
    await asyncio.sleep(1)
    print("协程任务结束。。。。")
    return "返回值测试"


async def main():
    print("主协程开始。。。。")
    task1 = asyncio.create_task(text_work())
    task2 = asyncio.create_task(text_work())
    # awit后面如果跟的是task对象，那么会等待task对象执行完成，并返回task对象执行结果
    # await task1
    # await task2
    # print("协程任务执行结果：", task1.result())

    # 将多个task对象存储到一个列表中
    tasks = [task1, task2]
    # 任务上传方式为：asyncio.wait(tasks)，a，asyncio.gather(*tasks)
    # result = await asyncio.wait(tasks)
    result = await asyncio.gather(*tasks)
    print("协程任务执行结果：", result)


loop = asyncio.get_event_loop()
loop.run_until_complete(main())
